<!-- 关联事项 -->

<template>
  <div class="DetailSchedule-MyRelated">
    <ShowSlot label="关联事项">
      <div v-if="one.workOrderContent.length">
        <span>维修工单</span>
        <BtnText
          v-for="item in one.workOrderContent"
          :key="item.clickId"
          :title="item.clickName"
          @click="openRepair(item)"
        />
      </div>

      <div v-if="one.alarmContent.length">
        <span>{{ CORE.MAP.ALARM }}记录</span>
        <BtnText
          v-for="item in one.alarmContent"
          :key="item.clickId"
          :title="item.clickName"
          @click="openAlarm(item)"
        />
      </div>
    </ShowSlot>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyRelated',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 状态数据 (函数返回对象)
   */
  data() {
    return {
      repairVisible: false, // 工单弹窗是否可见
      alarmVisible: false, // 告警弹窗是否可见

      repair: {}, // 维修工单
      alarm: {}, // 告警数据
    }
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 打开维修详情
     */
    async openRepair(item) {
      CORE.openDetailRepair(item.clickId)
    },

    /**
     * 打开告警详情
     */
    async openAlarm(item) {
      CORE.openDetailAlarm(item.clickId)
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
